1. Required Functionalities When the program is initially started, the user is presented with the following Main Menu. GRADING SUMMARY Total number of "A" (85-100) 0 Total number of "B" (70-84) 0 Total number of "C" (55-69) 0 Total number of "F" (0-54) 0 ----------------------------------------------------- The average of marks entered = 0.0 OPERATIONS: Enter marks between 0 to 100 for the summary. Enter -1 to clear all counters. Enter 999 to exit the program. Enter one mark at a time from here ==> The user starts a grading summary for a number of students by entering marks one at a time with marks between 0 to 100. When the user enters -1, the program should clear all counters and the average of marks. When the user enters 999, the program should end. If an out-of-range mark (except for -1 and 999) is entered, the program should report 'Invalid Entry' or something similar, delay a few seconds (e.g. calling Sleep() function), then display the menu again with any previous information that were entered before, and prompt the user for a mark again. Once a valid mark is entered, the program should update the information accordingly, calculate the average of the marks entered so far, and display the menu again with the updated information. From the menu shown above, for example, if the user enters a mark of 77, the counter for Grade B will be increased by 1 and the average of marks should be 77.0. If the user then enters a mark of 65.3, the counter for Grade C will be increased by 1 accordingly and the average of marks should now be 71.2. Note that the average of marks is printed to one decimal place. 2. Program Requirements Variables Any variable used in the program must be a local variable within a function and any variable declaration in a function must come before any calculation, input, and output statements. The total of marks and the average of marks must be maintained in variables of type float. All counters must be maintained in variables of type int. When the program just starts, all counters should be zero. Defines The program must include and use the following #defines: #define A_RANGE "(85-100)" #define B_RANGE "(70-84)" #define C_RANGE "(55-69)" #define F_RANGE "(0-54)" #define A_START 85 #define B_START 70 #define C_START 55 Functions Other than the main function, the program must include and use at least one function for displaying the main menu. If you like, you can have this menu function do more than just displaying the menu. Programmer’s Block The program must include a programmer’s block including your full name, your student number, the PRG155 Lab Section, the date, and a short description of the application.